package com.example.demo.service.impl;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import org.springframework.stereotype.Service;

/**
 * 功能描述：
 *
 * @Author: Zhanghf
 * @Date: 2021/12/11 19:40
 */
@Service
public class ParseContentPageYunxs extends DeafultParseContentPage{

    @Override
    public void parseContent(String contenturl) {
        String content = httpUtils.doGetHtml(contenturl);
        Document document = Jsoup.parse(content);
        //获取章节名
        try {
            sectiontitle = document.getElementsByTag("h1").get(0).text();
        } catch (IndexOutOfBoundsException e) {
            //会出现java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
            //下标越界异常，直接抛出
        }
        //获取正文
        Elements box_box = document.getElementsByClass("box_box");
        //empty()  清空每个匹配元素的内容
        //正文页面中存在网站额外添加的多余的文字信息
        box_box.select("[style=padding:5px;]").empty();
        //remove()  从DOM树中移除匹配的元素。
        box_box.select("div").remove();             //多余的文字信息
        box_box.select("script").remove();          //多余的文字信息

        //替换前的写进章节对应的txt，用于html页面显示
         beforereplace = box_box.html();
        //获得正文的html源码后将其进行相应的替换,替换后的写进complete
         afterreplace = beforereplace.replace("<br>", "").replace("&nbsp;", " ");
    }
}
